From e0ce0916312827fd40eadd3244900f1e6d6f8dd7 Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Sun, 30 Nov 2008 05:28:28 +0000 Subject: [PATCH] =?utf8?q?Bug=20554076=20=E2=80=93=20eventually=20release?= =?utf8?q?=20g=5Fnew-ed=20supported=5Fatoms?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 2008-11-30 Christian Dywan Bug 554076 – eventually release g_new-ed supported_atoms * gdk/x11/gdkevents-x11.c (cleanup_atoms), (gdk_x11_screen_supports_net_wm_hint): Set cleanup callback. Patch by Caolan McNamara. svn path=/trunk/; revision=21833 --- ChangeLog | 8 ++++++++ gdk/x11/gdkevents-x11.c | 11 ++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 5cae3f2590..b105c17769 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-11-30 Christian Dywan + + Bug 554076 – eventually release g_new-ed supported_atoms + + * gdk/x11/gdkevents-x11.c (cleanup_atoms), + (gdk_x11_screen_supports_net_wm_hint): Set cleanup callback. + Patch by Caolan McNamara. + 2008-11-30 Christian Dywan Bug 539263 – Deprecate gdk_window_get_toplevels diff --git a/gdk/x11/gdkevents-x11.c b/gdk/x11/gdkevents-x11.c index 223697541a..2cd817b238 100644 --- a/gdk/x11/gdkevents-x11.c +++ b/gdk/x11/gdkevents-x11.c @@ -2742,6 +2742,15 @@ struct _NetWmSupportedAtoms gulong n_atoms; }; +static void +cleanup_atoms(gpointer data) +{ + NetWmSupportedAtoms *supported_atoms = data; + if (supported_atoms->atoms) + XFree (supported_atoms->atoms); + g_free (supported_atoms); +} + /** * gdk_x11_screen_supports_net_wm_hint: * @screen: the relevant #GdkScreen. @@ -2787,7 +2796,7 @@ gdk_x11_screen_supports_net_wm_hint (GdkScreen *screen, if (!supported_atoms) { supported_atoms = g_new0 (NetWmSupportedAtoms, 1); - g_object_set_data (G_OBJECT (screen), "gdk-net-wm-supported-atoms", supported_atoms); + g_object_set_data_full (G_OBJECT (screen), "gdk-net-wm-supported-atoms", supported_atoms, cleanup_atoms); } fetch_net_wm_check_window (screen); -- 2.30.2